The present invention relates to a user interface control and, in particular to a slider user interface control for use with a processing system.
In many software applications, it is possible to adjust a variable to modify either the operation of the software or a feature provided by the software. One such example, is the ability to control the amount of memory which is utilized by a software application. In general, the alteration of such a variable will cause some alteration in the operation of the application, such as altering the efficiency of the application, the appearance of an output, or the like.
An example of this can be found in database systems which utilise summaries of regular queries to improve the response time of the database. In this case, the amount of memory allocated for storing the database summaries can vastly effect the time taken for the database to respond to a query.
A number of different techniques are provided for adjusting the value of such variables.
A first system for allowing a variable to be altered is shown in FIG. 1. In this case, a text box 1 is provided with an associated spinner control 2. In use, the system user can enter a variable in the text box and either increase or decrease the value by selecting the appropriate button of the spinner control 2. In this case, the system also usually indicates at 3 the maximum value that can be set for the variable.
A second solution is shown in FIG. 2. This system uses a slider control 4. The value of the variable is set to a minimum at one end point 4A of the slider control 4 and to a maximum at the other end point 4B. The value of the variable is therefore set by moving a pointer 5 along the slider control 4 between the end points 4A, 4B, so as to select the value.
Whilst both of these systems allow the variable to be adjusted, they both suffer from the drawback that they do not provide an indication of what effect the alteration will have. Accordingly, if the user wants to know if adjusting the variable will improve the performance of the system under question, then the user must adjust the value of the variable and then compare how the software performs following the alteration. As will be appreciated by the skilled man, with some systems it can take several hours to assess any alteration in system performance.
A third solution, which is shown in FIG. 3, is the use of a graph 6. In this example, the graph 6 indicates the value of the variable along the x-axis, with any change in performance being indicated along the y-axis. This is usually used in conjunction with a text box similar to that shown in FIG. 1. In this case, when the user comes to alter the variable, the graph provides a rough indication of how changes will effect the performance. However, this is only a rough guide from which the user can determine that an increase in the variable will result in an increase in performance, but not how much of an increase will occur.
The present invention provides user interface control for controlling the value of a variable in a processing system, the user interface control comprising:
a. a display;
b. an input device; and,
c. a processor which is adapted to cooperate with the display and the input device to:
i. generate an input representation on the display, the input representation allowing the value of the variable to be specified by the user using the input device;
ii. generate a graphical representation on the display, the graphical representation showing a relationship between the variable and a parameter; and,
iii. generate an indicator on the display, the indicator indicating a value of the parameter for the value of the variable specified using the input representation.
Accordingly, the present invention provides a user interface which allows the user to adjust the value of a variable and instantaneously observe how the alteration will effect the operation of the processing system.
The input representation preferably comprises a slider moveable between two end points, the position of the slider relative to the end points representing the value of the variable. The use of a slider is not essential, although it is particularly advantageous as it provides the user with a pictorial representation of the value of the variable which is conceptually easy to understand. However, alternative representations such as an input dial or the like could be used.
The graphical representation typically comprises a graph showing the value of the variable along a first axis and the value of the parameter along the second axis. Again this is conceptually easy for the user to understand. In addition to this however, the graph provides the user with an indication of the relationship between the variable and the parameter, allowing the user to see how changes in the value of the variable will effect the value of the parameter.
In this case, the input representation is preferably arranged adjacent the first axis of the graphical representation such that the position of the slider with respect to the first axis represents the value of the variable. This allows the user to see a correspondence between the value of the variable as set on the slider and the corresponding value on the graph. This in turn allows the user to visualise how adjustments of the value of the variable will effect the value of the parameter.
The indicator usually comprises a line intersecting the second axis, the position of the intersection representing the value of the parameter. However, alternative indicators, such as highlighting regions of the graph, displaying the value of the parameter numerically along side the graph axis, or the like could be used.
Similarly, the indicator usually intersects the first axis, the position of the intersection representing the value of the variable, although other display techniques could be used.
In the case in which the processing system is used to control the creation of summaries in a database, the variable preferably corresponds to the amount of memory allocated for the summaries, the parameter indicating the improvement in the performance of the database. However, the user control interface can be used for representing other variables, such as the amount of memory allocated to certain processing tasks, with the parameter representing the time the task will take.
The system can also be used for other applications, including for example to represent the benefit that is obtained when allocating different amounts of memory for the swap files used by the Windows(trademark) system.
Typically the processing system is adapted to determine the relationship between the variable and a parameter. The manner in which this is achieved is not essential to the present invention. However, one example is described in the co-pending British Patent Application No. 0014217.4, filed on Jun. 9, 2000.
The processor, the display and the input device usually form part of the processing system, although it is possible for the user interface control to be provided using elements separate to those in the processing system, thereby allowing the user interface control to be located remotely from the processing system.
The graphical representation may advantageously indicate a maximum value of the variable which can be specified. This allows the user to observe the maximum value of the parameter which can be obtained. Thus, for example, if the system is used to control the memory allocation for summary creation, the maximum value would correspond to the total memory available. In this case, the graphical representation allows the user to observe the maximum improvement in performance that can be obtained.